
//二分查找解决内存溢出

public class IntegerOverflow {
    public static void main(String[] args) {
        int r = Integer.MAX_VALUE - 1, l = Integer.MAX_VALUE / 2;

        System.out.println((r + l) / 2);//溢出
        System.out.println(l + (r - l) / 2);//方法一 数学方法 (r+l)/2 等价 l+(r-l)/2
        System.out.println((r + l) >>> 1);//方法二 无符号右移 (r+l)/2 等价 (r + l) >>> 1
    }
}
